<?php

/**
 * Create by SN
 * Create on 2020/3/15 7:30
 * Des : 注册树模式
 */
class Register
{
    /**
     * 注册树池子
     */
    protected static $objects = null;

    /**
     * Create by SN on 2020/3/15 7:34
     * Des : 注册对象
     * @param $key
     * @param $value
     */
    public static function set($key, $value){
        self::$objects[$key] = $value;
    }

    /**
     * Create by SN on 2020/3/15 7:33
     * Des : 从树上获取对象, 如果没有就注册
     * @param $key
     * @return mixed
     */
    public static function get($key){
        if (!isset(self::$objects[$key])){
            self::$objects[$key] = new $key;
        }
        return self::$objects[$key];
    }

    /**
     * Create by SN on 2020/3/15 7:33
     * Des : 注销对象
     * @param $key
     */
    public static function _unset($key){
        unset(self::$objects[$key]);
    }

}